package scheme

import (
	
)

type ColorMode string

const (
	Last ColorMode = "last"
	Min  ColorMode = "min"
	Max  ColorMode = "max"
)

// Option represents an option that can be used to configure an axis.
type Option func(scheme *Scheme)

type Step struct {
	Color string
	Value int
}

// Scheme represents a color scheme.
type Scheme struct {
	fieldConfig *sdk.FieldConfig
}

// New creates a new Scheme configuration.
func ( *sdk.FieldConfig,  ...Option) *Scheme {
	 := &Scheme{fieldConfig: }

	for ,  := range  {
		()
	}

	return 
}

// SingleColor defines the color scheme with a single color.
func ( string) Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "fixed"
		.fieldConfig.Defaults.Color.FixedColor = 
	}
}

// ClassicPalette uses the classic palette color scheme.
func () Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "palette-classic"
	}
}

// ThresholdsValue uses the thresholds colors.
func ( ColorMode) Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "thresholds"
		.fieldConfig.Defaults.Color.SeriesBy = string()
	}
}

// GreenYellowRed uses the green-yellow-red color scheme.
func ( ColorMode) Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "continuous-GrYlRd"
		.fieldConfig.Defaults.Color.SeriesBy = string()
	}
}

// YellowRed uses the yellow-red color scheme.
func ( ColorMode) Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "continuous-YlRd"
		.fieldConfig.Defaults.Color.SeriesBy = string()
	}
}

// YellowBlue uses the yellow-blue color scheme.
func ( ColorMode) Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "continuous-YlBl"
		.fieldConfig.Defaults.Color.SeriesBy = string()
	}
}

// RedYellowGreen uses the red-yellow-green color scheme.
func ( ColorMode) Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "continuous-RdYlGr"
		.fieldConfig.Defaults.Color.SeriesBy = string()
	}
}

// BlueYellowRed uses the blue-yellow-red color scheme.
func ( ColorMode) Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "continuous-BlYlRd"
		.fieldConfig.Defaults.Color.SeriesBy = string()
	}
}

// BluePurple uses the blue-purple color scheme.
func ( ColorMode) Option {
	return func( *Scheme) {
		.fieldConfig.Defaults.Color.Mode = "continuous-BlPu"
		.fieldConfig.Defaults.Color.SeriesBy = string()
	}
}